package org.jeecg.modules.ParameterModule.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.ParameterModule.entity.*;

import java.util.List;

public interface TestPlateInfoService extends IService<CountDataInfo> {
    /**测试版号列表*/
    IPage<MlccCategoryTestInfo> query_testCategoryPageList(Page<MlccCategoryTestInfo> page, String queryName, String queryCode,String pingleiName);
    //查询所有的品类列表
    List<MlccCategoryInfo> query_allpinglei_list();
    //根据id查询正式的类别详情
    MlccCategoryInfo queryCategoryDetailById(String categoryId);
    //根据编号和类型查询测试的类别
    MlccCategoryTestInfo queryCategoryDetailBytype(String code,int type);

    /**根据品类id查询定制项*/
    List<SmalltemplateTestInfo> query_dingzhiBycategoryId(String category_id);
    /**根据品类id查询参数*/
    List<MlccCategoryTestInfo> query_AllcanshuBypingleiId(String category_id);
    /**根据品类id查询所有互斥*/
    List<MutexTestInfo> query_AllhuchiBypingleiId(String category_id);
    /** //根据品类id查询绣字部位*/
    List<CategoryLocationTestInfo> query_Allxiuzi1BypingleiId(String category_id);
    /**根据品类id查询所有绣字颜色*/
    List<EmbroideredColorTestInfo> query_AllxiuziColorBypingleiId(String category_id);
    /**根据品类id查询所有绣字字体*/
    List<EmbroideredFontTestInfo> query_AllxiuziFontBypingleiId(String category_id);
    /**根据品类id查询所有撞色*/
    List<ContrastcolorTestInfo> query_AllzhuangseBypingleiId(String category_id);
    /**根据品类id查询所有净体尺寸*/
    List<BodySizeTestInfo> query_AlljingtiBodysizeBypingleiId(String category_id);
    /**根据品类id查询所有返修*/
    List<CategoryFanxiuTestInfo> query_AllFanxiuBypingleiId(String category_id);
    /**根据品类id查询所有工艺*/
    List<MlccCategoryTestInfo> query_AllGongyiBypingleiId(String category_id);
    /**根据品类id查询所有系统加急*/
    List<AddSystemPriceInfo> query_AllsyspriceBypingleiId(String category_id,int type);
    /**根据品类id查询所有正式的辅料*/
    List<CategoryMaterialInfo> query_AllfuliaoBypingleiId2(String category_id);

    /**统计定制项*/
    int count_dingzhi(String category_id);
    /**统计互斥项*/
    int count_huchi(String category_id);
    /**统计绣字工艺*/
    int count_xiuzi(String category_id);
    /**统计撞色项*/
    int count_zhuangse(String category_id);
    /**统计净体尺寸*/
    int count_jing_bodysize(String category_id);
    /**统计成衣尺寸*/
    int count_cheng_bodysize(String category_id);
    /**统计返修项*/
    int count_fanxiu(String category_id);
    /**统计工艺类型*/
    int count_gongyi(@Param("category_id")String category_id);
    /**统计绣字颜色*/
    int count_xiuzi_color(@Param("category_id")String category_id);
    /**统计绣字字体*/
    int count_xiuzi_font(@Param("category_id")String category_id);
    /**统计绣字图片*/
    int count_xiuzi_img(@Param("category_id")String category_id);
    /**统计辅料*/
    int count_fuliao(@Param("category_id")String category_id);
    /**统计标准码*/
    int count_standardcode(@Param("category_id")String category_id);

    /**新增版号*/
    int add_category_plate(MlccCategoryTestInfo testinfo);
    /**新增定制项*/
    int add_dingzhi(SmalltemplateTestInfo dingzhi);
    /**新增定制项下的参数*/
    int add_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**新增互斥项*/
    int add_huchi(MutexTestInfo mutexTestInfo);
    /**新增定绣字-部位*/
    int add_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**新增定绣字-颜色*/
    int add_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**新增绣字-字体图片*/
    int add_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**新增绣字-字体图片-大小价格*/
    int add_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**新增撞色*/
    int add_zhuangse(ContrastcolorTestInfo testinfo);
    /**新增尺寸*/
    int add_testbodySize(BodySizeTestInfo testinfo);
    /**新增返修尺寸*/
    int add_testFanxiuSize(CategoryFanxiuTestInfo testinfo);

    //编辑暂时用不到
    /**编辑定制项*/
    int update_dingzhi(SmalltemplateTestInfo dingzhi);
    /**编辑定制项下的参数*/
    int update_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**编辑互斥项*/
    int update_huchi(MutexTestInfo mutexTestInfo);
    /**编辑绣字-部位*/
    int update_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**编辑绣字-颜色*/
    int update_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**编辑绣字-字体图片*/
    int update_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**编辑绣字-高度*/
    int update_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**编辑撞色*/
    int update_zhuangse(ContrastcolorTestInfo testinfo);
    /**编辑尺寸*/
    int update_testbodySize(BodySizeTestInfo testinfo);
    /**编辑返修尺寸*/
    int update_testFanxiuSize(CategoryFanxiuTestInfo testinfo);

    /**删除定制项*/
    int delete_dingzhi(String dingzhi_id);
    /**删除定制项下的参数*/
    int delete_dingzhi_canshu(String canshu_id);
    /**删除互斥项*/
    int delete_huchi(String huchi_id);
    /**删除绣字-部位*/
    int delete_xiuzi_location(String id);
    /**删除绣字-颜色*/
    int delete_xiuzi_color(String id);
    /**删除绣字-字体图片*/
    int delete_xiuzi_fontImg(String id);
    /**删除撞色*/
    int delete_zhuangse(String id);
    /**删除尺寸*/
    int delete_testbodySize(String id);
    /**删除返修尺寸*/
    int delete_testfanxiuSize(String id);
    /**删除品类或工艺*/
    int delete_testcategory(String id);

    /**编辑版号*/
    int update_category_plate(MlccCategoryTestInfo testinfo);
    /**根据测试版号id查询最新添加的定制项*/
    List<SmalltemplateTestInfo> query_testdingzhiByBanhaoId(String banhao_id);
    /**根据品类id查询所有绣字高度*/
    List<EmbroidedHeightInfo> query_AllHeightBypingleiId(String category_id);
    /**新增绣字高度*/
    int add_xiuzi_height(EmbroidedHeightInfo testinfo);
    /**删除绣字高度*/
    int delete_xiuzi_height(String id);
    /**根据条件修改类别状态*/
    int update_category_status(String type,String status,String category_id);

    //根据类别id和是否是品类、是否是启用查询
    List<QiyongListInfo> query_UpdatecategoryRecord(String category_id,String is_ping,String is_qiyong);
    /**根据版号id查询定制项*/
    List<SmalltemplateTestInfo> query_alldingzhiByplateId(String category_id);

    /**测试参数列表*/
    IPage<MlccCategoryTestInfo> query_testCanshuPageList(Page<MlccCategoryTestInfo> page,String topcategory_id,String module_id,String queryName);
    /**操作定制项*/
    int change_dingzhi_status(String type,String status,String id);
    /**操作定制项下面的参数*/
    int change_dingzhi_canshu_status(String type,String status,String id);

    //根据类别id查询版号详情
    MlccCategoryTestInfo query_plateDetailById(String categoryId);
    //根据类型和类别id查询启用记录
    QiyongListInfo query_qiyongRecord_categotyId(String is_ping,String category_id);


    /**版号下的里布列表*/
    IPage<CategoryMaterialInfo> query_material_libuPageList(Page<CategoryMaterialInfo> page,String category_id, String queryName, String queryCode);
    /**版号下的低领里列表*/
    IPage<CategoryMaterialInfo> query_material_dilingliPageList(Page<CategoryMaterialInfo> page,String category_id, String queryName, String queryCode);
    /**版号下的纽扣列表*/
    IPage<CategoryMaterialInfo> query_material_buttonsPageList(Page<CategoryMaterialInfo> page,String category_id, String queryName, String queryCode);
    /**新增里布*/
    int add_plate_libu(CategoryMaterialInfo testinfo);
    /**删除里布*/
    int delete_plate_libu(String id);

    /**测试绣字部位列表*/
    IPage<CategoryLocationTestInfo> query_testlocaltionPageList(Page<CategoryLocationTestInfo> page,String category_id,String queryName, String queryCode);
    /**测试绣字颜色列表*/
    IPage<EmbroideredColorTestInfo> query_testColorPageList(Page<EmbroideredColorTestInfo> page,String category_id,String queryName, String queryCode);
    /**测试绣字图片列表*/
    IPage<EmbroideredFontTestInfo> query_testImgPageList(Page<EmbroideredFontTestInfo> page,String category_id,String queryName, String queryCode);
    /**测试绣字字体列表*/
    IPage<EmbroideredFontTestInfo> query_testFontPageList(Page<EmbroideredFontTestInfo> page,String category_id,String queryName, String queryCode);

    /**删除定制项*/
    int delete_real_dingzhi(String top_id);
    /**删除定制项下的参数*/
    int delete_real_dingzhi_canshu(String top_id);
    /**删除绣字-部位*/
    int delete_real_xiuzi_location(String top_id);
    /**删除绣字-颜色*/
    int delete_real_xiuzi_color(String top_id);
    /**删除绣字-字体图片*/
    int delete_real_xiuzi_fontImg(String top_id);
    /**删除绣字-互斥项*/
    int delete_real_huchi(String top_id);
    /**删除撞色*/
    int delete_real_zhuahngse(String top_id);
    /**删除成衣尺寸*/
    int delete_real_size(String top_id);
    /**删除返修*/
    int delete_real_fanxiusize(String top_id);
    /**删除工艺*/
    int delete_real_gongyi(String top_id);


    /**根据品类id查询所有系统收费项*/
    List<AddSystemPriceInfo> query_AllAddSystemPriceBypingleiId(String category_id,int type);
    /**根据编号和上级和定制id查询测试品类详情*/
    MlccCategoryInfo select_zscategoryDetailByother(String category_code,String zs_pingleiId,String dingzhi_id);
    /**执行查询所有参数根据版号id，定制项id*/
    List<MlccCategoryTestInfo> query_AllcanshuByplate_dingzhiId(String category_id,String dingzhi_id);


    /**标准码尺寸表--分页*/
    IPage<StandardCodeInfo> query_standardCode_pagelist(Page<StandardCodeInfo> page,String category_id,String queryName, String queryTime,String type);
    /**根据版号查询所有标准码尺寸表--type:1正式，2测试*/
    List<StandardCodeInfo> query_standardCodelist(String category_id,int type);
    /**根据id查询标准码尺寸详情--type:1正式，2测试*/
    StandardCodeInfo query_standardCodeDetail(String id,int type);
    /**新增标准码--测试*/
    int add_StandardCode(StandardCodeInfo testinfo);
    /**编辑标准码--测试*/
    int update_StandardCode(StandardCodeInfo testinfo);
    /**删除标准码--测试*/
    int delete_StandardCode(String id);

    /**新增标准码--正式*/
    int add_StandardCode_zhengshi(StandardCodeInfo testinfo);
    /**删除标准码--正式*/
    int delete_StandardCode_zhengshi(String id);

    /**修改撞色的状态：1撞色，2尺寸，3返修，4工艺类型*/
    int change_parameter_status(String id,String status,int type);

    /**测试撞色列表*/
    IPage<ContrastcolorTestInfo> query_testzhuangsePageList(Page<ContrastcolorTestInfo> page,String category_id,String queryName, String queryTime);
    /**身体尺寸查询*/
    IPage<BodySizeTestInfo> query_testBodySizePageList(Page<BodySizeTestInfo> page,String type,String category_id,String queryName, String queryTime);
    /**返修尺寸查询*/
    IPage<CategoryFanxiuTestInfo> query_testFanxiuSizePageList(Page<CategoryFanxiuTestInfo> page,String category_id,String queryName, String queryTime);
    /**根据类型查询测试pine类列表*/
    IPage<MlccCategoryTestInfo> query_testCategoryPageListBytype(Page<MlccCategoryTestInfo> page,String category_id,String type,String queryName, String queryCode);

    /**批量删除辅料*/
    int delete_batch_material(List<Integer> ids);
    /**
     * 一键删除辅料根据类型
     * @param type:0里布，1低领里，2钮扣
     * */
    int real_delete_material(String category_id,String type);

    //测试标准码
    /**根据编号查询标准码尺寸详情*/
    StandardCodeInfo query_standardCodeDetailBycode(String code);
    /**批量删除标准码*/
    int delete_batch_standardCode(List<String> ids);
    /**真删除删除标准码*/
    int real_delete_standardCode(String id);
}
